Skip to content

Pick armour models per recipe and metal, including infantry and mage - #36

Merged
XxFran10xX merged 3 commits into
mainfrom
feat/per-recipe-armour-models
Oct 10, 2026
Merged

XxFran10xX merged 3 commits into
mainfrom
feat/per-recipe-armour-models

Conversation

@XxFran10xX

@XxFran10xX XxFran10xX commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Infantry and mage armour previously chose their model from paper or enchanted dust, so every metal shared one look. New crafts and staff grants now use the main material's recipe-specific model when it exists. Schemes without that entry keep the secondary-ingredient and recipe-type fallback.

The per-recipe lookup also gives light, medium and heavy armour separate looks. model-schemes/basic.yml contains 60 weight-specific mappings and 40 infantry/mage mappings for iron, steel, bronze, abyssalite and mythril. The infantry/mage mappings use the approved v6 items from ServerAssets#43.

Existing crafted gear keeps its appearance. Recipes, ingredients, stats and socket rules are unchanged. The join/chest refresh updates stats and lore only; refreshing models would overwrite ArmourShop skins.

Deploy the ServerAssets content and rebuild the ItemsAdder pack before loading this jar and model config. After players craft these new IDs, changing their definitions risks ItemsAdder auto-update stripping MMOItems data; see ServerAssets#43.

Validation:

  • Linux mvn clean verify: 136 tests pass; instruction, line and branch coverage are 100%.
  • Regression tests cover ingredient/alloy main materials, ingredient/alloy secondary materials, recipe-specific priority and the legacy fallback.
  • TFMCDev01: all 40 infantry/mage pieces have the matching metal-specific ID, color and worn model. NBT audit confirms stats, sockets, durability and crafting provenance on all 40. Swords and existing medium armour retain their models.
  • Earlier weight-tier verification: 120/120 checks, documented in ServerAssets#43.

Applied to TFMCDev01 only. Not merged or deployed to Main.

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Review in Change Stack →Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7c6b003d-495d-4c08-aed6-3ccd244fc118

📥 Commits

Reviewing files that changed from the base of the PR and between e9334c5 and f1cb06d.


📒 Files selected for processing (3)
  • src/main/java/net/tfminecraft/advancedcrafting/objects/crafting/CraftingStation.java
  • src/main/resources/model-schemes/basic.yml
  • src/test/java/net/tfminecraft/advancedcrafting/StationCoverageTest.java

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



📝 Summary

Summary by CodeRabbit

  • New Features
    • Crafting stations now prioritise a model configured for a specific recipe when available, while retaining recipe-type and matching-material models as fallbacks.
    • Added light, medium, heavy, infantry and mage armour models—covering helmets, chestplates, leggings and boots—for iron, steel, bronze, abyssalite and mythril schemes.

Walkthrough

The basic model schemes add armour mappings for five materials. Crafting stations now prefer a recipe-ID model and fall back to the recipe-type model. Tests cover model selection across ingredient and alloy materials.

Changes

Crafting item models

Layer / File(s) Summary
Armour model mappings
src/main/resources/model-schemes/basic.yml
The iron, steel, bronze, abyssalite and mythril schemes add light, medium, heavy, infantry and mage mappings for helmets, chestplates, leggings and boots.
Recipe model selection
src/main/java/net/tfminecraft/advancedcrafting/objects/crafting/CraftingStation.java, src/test/java/net/tfminecraft/advancedcrafting/StationCoverageTest.java
Crafting stations retain a recipe-ID model when available and otherwise use the recipe-type model. Tests cover recipe-specific models, material-scheme selection, and the resulting item material and legacy model data.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: ryanbarlow97


Merge Risk: ⚪ Minimal · up to f1cb0

No actionable issue is established before merge. Deploy the matching ServerAssets content and rebuild the ItemsAdder pack as planned.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@XxFran10xX

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Oct 8, 2026
@XxFran10xX XxFran10xX changed the title Pick armour models per recipe so each weight has its own look Pick armour models per recipe and metal, including infantry and mage Oct 8, 2026
XxFran10xX and others added 3 commits October 10, 2026 08:20
applyModel looked a model up only by the recipe type (helmet,
chestplate, ...), so light, medium and heavy armour of one metal always
shared a model. It now tries the recipe id first (light_helmet,
heavy_boots, ...) and falls back to the type, so existing schemes keep
working. The default basic.yml points the 12 armour recipes of each base
metal at the new tfmc_armor ItemsAdder items.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@XxFran10xX
XxFran10xX force-pushed the feat/per-recipe-armour-models branch from 2c527dc to f1cb06d Compare October 10, 2026 06:20
@XxFran10xX

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@XxFran10xX
XxFran10xX merged commit 834119f into main Oct 10, 2026
2 checks passed
@XxFran10xX
XxFran10xX deleted the feat/per-recipe-armour-models branch October 10, 2026 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant